home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / bin / gnome-doc-prepare < prev    next >
Text File  |  2009-09-22  |  10KB  |  351 lines

  1. #! /bin/sh
  2. # gnome-doc-prepare - Prepare a package to use gnome-doc-utils.
  3. # tools/gnome-doc-prepare.  Generated from gnome-doc-prepare.in by configure.
  4. # Copyright (C) 1996-1999 Free Software Foundation, Inc.
  5. # Copyright (C) 2001 Eazel, Inc.
  6. # Copyright (C) 2004 Danilo Segan <danilo@gnome.org>.
  7. #
  8. # Originally based on libtoolize by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  9. #
  10. # Modified for xml-i18n-tools by Maciej Stachowiak <mjs@noisehavoc.org>
  11. #
  12. # Modified for gnome-doc-utils by Danilo ┼áegan <danilo@gnome.org>
  13. #
  14. # This program is free software; you can redistribute it and/or modify
  15. # it under the terms of the GNU General Public License as published by
  16. # the Free Software Foundation; either version 2 of the License, or
  17. # (at your option) any later version.
  18. #
  19. # This program is distributed in the hope that it will be useful, but
  20. # WITHOUT ANY WARRANTY; without even the implied warranty of
  21. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  22. # General Public License for more details.
  23. #
  24. # You should have received a copy of the GNU General Public License
  25. # along with this program; if not, write to the Free Software
  26. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  27. #
  28. # As a special exception to the GNU General Public License, if you
  29. # distribute this file as part of a program that contains a
  30. # configuration script generated by Autoconf, you may include it under
  31. # the same distribution terms that you use for the rest of that program.
  32.  
  33. # The name of this program.
  34. progname=`echo "$0" | sed 's%^.*/%%'`
  35.  
  36. # Constants.
  37. PROGRAM=gnome-doc-prepare
  38. PACKAGE=gnome-doc-utils
  39. VERSION=0.18.0
  40.  
  41. # Directory names.
  42. prefix=/usr
  43. datarootdir=${prefix}/share
  44. datadir=${datarootdir}
  45. pkgdatadir=${datarootdir}/gnome-doc-utils
  46.  
  47. # FIXME: I want this through pkg-config
  48. gdu_m4="${datadir}/aclocal/gnome-doc-utils.m4"
  49. gdu_make="${pkgdatadir}/gnome-doc-utils.make"
  50. omf_template="${pkgdatadir}/template.omf.in"
  51. xml_template="${pkgdatadir}/template-document.xml"
  52. makefile_template="${pkgdatadir}/template.make"
  53.  
  54. dry_run=no
  55. help="Try '$progname --help' for more information."
  56. rm="rm -f"
  57. rm_rec="rm -rf"
  58. ln_s="ln -s"
  59. cp="cp -f"
  60. mkdir="mkdir"
  61. sed="sed"
  62. mkinstalldirs="mkinstalldirs"
  63.  
  64. # Global variables.
  65. automake=
  66. copy=
  67. force=
  68. status=0
  69.  
  70. for arg
  71. do
  72.   case "$arg" in
  73.   --help)
  74.     cat <<EOF
  75. Usage: $progname [OPTION]...
  76.  
  77. Prepare a package to use gnome-doc-utils.
  78.  
  79.     --automake        work silently, and assume that Automake is in use
  80. -c, --copy            copy files rather than symlinking them
  81.     --new-document DOCUMENT
  82.                       initialize help/DOCUMENT/*
  83.     --debug           enable verbose shell tracing
  84. -n, --dry-run         print commands rather than running them
  85. -f, --force           replace existing files
  86.     --help            display this message and exit
  87.     --version         print version information and exit
  88.  
  89. You must 'cd' to the top directory of your package before you run
  90. '$progname'.
  91. EOF
  92.     exit 0
  93.     ;;
  94.  
  95.   --version)
  96.     echo "$PROGRAM (GNU $PACKAGE) $VERSION"
  97.     exit 0
  98.     ;;
  99.  
  100.   --automake)
  101.     automake=yes
  102.     ;;
  103.  
  104.   --new-document)
  105.     shift
  106.     docname=yes
  107.     ;;
  108.  
  109.   -c | --copy)
  110.     ln_s=
  111.     ;;
  112.  
  113.   --debug)
  114.     echo "$progname: enabling shell trace mode"
  115.     set -x
  116.     ;;
  117.  
  118.   -n | --dry-run)
  119.     if test "$dry_run" != yes; then
  120.       dry_run=yes
  121.       rm="echo $rm"
  122.       rm_rec="echo $rm_rec"
  123.       test -n "$ln_s" && ln_s="echo $ln_s"
  124.       cp="echo $cp"
  125.       mkdir="echo mkdir"
  126.       mkinstalldirs="echo $mkinstalldirs"
  127.       sed="echo $sed"
  128.     fi
  129.     ;;
  130.  
  131.   -f | --force)
  132.     force=yes
  133.     ;;
  134.  
  135.   -*)
  136.     echo "$progname: unrecognized option '$arg'" 1>&2
  137.     echo "$help" 1>&2
  138.     exit 1
  139.     ;;
  140.  
  141.   *)
  142.     if [ "x$docname" = "xyes" ]
  143.     then
  144.       newdocument="$arg" 
  145.       docname=no
  146.     else
  147.       echo "$progname: too many arguments" 1>&2
  148.       echo "$help" 1>&2
  149.       exit 1
  150.     fi
  151.     ;;
  152.   esac
  153. done
  154.  
  155. if test -f configure.ac; then
  156.     configure="configure.ac"
  157. else
  158.     if test -f configure.in; then
  159.     configure="configure.in"
  160.     else
  161.     echo "$progname: neither 'configure.ac' nor 'configure.in' exists" 1>&2
  162.     echo "$help" 1>&2
  163.     exit 1
  164.     fi
  165. fi
  166.  
  167.  
  168. files='gnome-doc-utils.make'
  169.  
  170. auxdir=.
  171. auxdirline=`egrep '^AC_CONFIG_AUX_DIR' $configure 2>/dev/null`
  172. if test -n "$auxdirline"; then
  173.   # Handle explicit AC_CONFIG_AUX_DIR settings.
  174.   auxdir=`echo "$auxdirline" | sed 's/^AC_CONFIG_AUX_DIR(\([^)]*\)).*$/\1/'`
  175.  
  176.   if test "$auxdir" = "$auxdirline"; then
  177.     echo "$progname: invalid AC_CONFIG_AUX_DIR syntax: $auxdirline" 1>&2
  178.     exit 1
  179.   else
  180.     # Strip any quote brackets.
  181.     auxdir=`echo "$auxdir" | sed 's/^\[\(.*\)\]$/\1/g'`
  182.     case "$auxdir" in
  183.     *\$*)
  184.       echo "$progname: cannot handle variables in AC_CONFIG_AUX_DIR" 1>&2
  185.       exit 1
  186.       ;;
  187.     *)
  188.     ;;
  189.     esac
  190.   fi
  191. else
  192.   # Try to discover auxdir the same way it is discovered by configure.
  193.   # Note that we default to the current directory.
  194.   for dir in . .. ../..; do
  195.     if test -f $dir/install-sh; then
  196.       auxdir=$dir
  197.       break
  198.     elif test -f $dir/install.sh; then
  199.       auxdir=$dir
  200.       break
  201.     fi
  202.   done
  203. fi
  204.  
  205. if test -z "$automake"; then
  206.   if egrep '^GNOME_DOC_INIT' $configure >/dev/null 2>&1; then :
  207.   else
  208.     echo "Remember to add 'GNOME_DOC_INIT' to $configure."
  209.   fi
  210.  
  211.   if grep 'generated automatically by aclocal' aclocal.m4 >/dev/null 2>&1; then
  212.     updatemsg="update your 'aclocal.m4' by running aclocal"
  213.   else
  214.     updatemsg="add the contents of '$gdu_m4' to 'aclocal.m4'"
  215.   fi
  216.  
  217.   if egrep '^AC_DEFUN\(GNOME_DOC_INIT' aclocal.m4 >/dev/null 2>&1; then
  218.     # Check the version number on gnome-doc-utils.m4 and the one used in aclocal.m4.
  219.     instserial=`grep '^# serial ' $gdu_m4 | grep 'GNOME_DOC_INIT' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
  220.  
  221.     if test -z "$instserial"; then
  222.       echo "$progname: warning: no serial number on '$gdu_m4'" 1>&2
  223.     else
  224.       # If the local macro has no serial number, we assume it's ancient.
  225.       localserial=`grep '^# serial ' aclocal.m4 | grep 'GNOME_DOC_INIT' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
  226.  
  227.       test -z "$localserial" && localserial=0
  228.  
  229.       if test "$localserial" -lt "$instserial"; then
  230.     echo "You should $updatemsg."
  231.       elif test "$localserial" -gt "$instserial"; then
  232.     echo "$progname: '$gdu_m4' is serial $instserial, less than $localserial in 'aclocal.m4'" 1>&2
  233.     if test -z "$force"; then
  234.       echo "Use '--force' to replace newer gnome-doc-utils files with this version." 1>&2
  235.       exit 1
  236.     fi
  237.     echo "To remain compatible, you should $updatemsg."
  238.       fi
  239.     fi
  240.   else
  241.     echo "You should $updatemsg."
  242.   fi
  243. fi
  244.  
  245.  
  246.  
  247. # Change to the auxiliary directory.
  248. (
  249. cur=`pwd`
  250. if test "$auxdir" != .; then
  251.   test -z "$automake" && echo "Putting files in AC_CONFIG_AUX_DIR, '$auxdir'."
  252.   cd $auxdir || exit 1
  253. fi
  254.  
  255. for file in $files; do
  256.   if test -f "$file" && test -z "$force"; then
  257.     test -z "$automake" && echo "$progname: '$file' exists: use '--force' to overwrite" 1>&2
  258.     continue
  259.   fi
  260.  
  261.   $rm $file
  262.   if test -n "$ln_s" && $ln_s $pkgdatadir/`basename $file` $file; then :
  263.   elif $cp $pkgdatadir/`basename $file` $file; then :
  264.   else
  265.     echo "$progname: cannot copy '$pkgdatadir/`basename $file`' to '$file'" 1>&2
  266.     status=1
  267.   fi
  268. done
  269.  
  270. exit $status
  271. # make sure this subshell exits with the exit value if it failed
  272. ) || exit $?
  273.  
  274. # Adapted from gtkdocize:
  275. # If the AC_CONFIG_MACRO_DIR() macro is used, copy gnome-doc-utils.m4 
  276. # from our prefix to that directory.  This makes sure that the M4 macro
  277. # used matches the automake fragment.
  278. # If AC_CONFIG_MACRO_DIR is not used, the macro won't be copied, and
  279. # the correct flags must be passed to aclocal for it to find the macro.
  280. m4dir=`cat "$configure" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
  281.  
  282. if test -n "$m4dir"; then
  283. (
  284. cur=`pwd`
  285. if test "$m4dir" != .; then
  286.   test -z "$automake" && echo "Putting files in AC_CONFIG_MACRO_DIR, '$m4dir'."
  287.   cd $m4dir || exit 1
  288. fi
  289.  
  290. files='gnome-doc-utils.m4'
  291.  
  292. for file in $files; do
  293.   if test -f "$file" && test -z "$force"; then
  294.     test -z "$automake" && echo "$progname: '$file' exists: use '--force' to overwrite" 1>&2
  295.     continue
  296.   fi
  297.  
  298.   $rm $file
  299.   if test -n "$ln_s" && $ln_s $datadir/aclocal/$file $file; then :
  300.   elif $cp $datadir/aclocal/$file $file; then :
  301.   else
  302.     echo "$progname: cannot copy '$datadir/aclocal/$file' to '$file'" 1>&2
  303.     status=1
  304.   fi
  305. done
  306.  
  307. exit $status
  308. # make sure this subshell exits with the exit value if it failed
  309. ) || exit $?
  310. fi
  311.  
  312.  
  313. # FIXME: This probably does not work w/ builddir != srcdir because it
  314. # gets at source files relative to the current directory.
  315.  
  316.  
  317. if [ "x$newdocument" != "x" ]
  318. then
  319.     MYDATE="`date -I`"
  320.     MYYEAR="`date +%Y`"
  321.     MYUSERNAME="`whoami`"
  322.     MYDOMAIN="`hostname -d`"
  323.     MYSERIESID="`scrollkeeper-gen-seriesid`"
  324.     MYDOCUMENT="$newdocument"
  325.  
  326.     ( # FIXME: check if any of these already exist, and overwrite only if $force
  327.     mkdir -p "help/$newdocument/C" && \
  328.     sed \
  329.     -e 's/@DATE@/$MYDATE/g' \
  330.     -e 's/@YEAR@/$MYYEAR/g' \
  331.     -e 's/@USERNAME@/$MYUSERNAME/g' \
  332.     -e 's/@DOMAIN@/$MYDOMAIN/g' \
  333.     -e 's/@DOCUMENT@/$MYDOCUMENT/g' \
  334.     < $xml_template > "help/$newdocument/C/$newdocument.xml" && \
  335.     $sed \
  336.     -e 's/@DATE@/$MYDATE/g' \
  337.     -e 's/@SERIESID@/$MYSERIESID/g' \
  338.     < $omf_template > "help/$newdocument/$newdocument.omf.in" && \
  339.     sed \
  340.     -e 's/@DOCUMENT@/$MYDOCUMENT/g' \
  341.     < $makefile_template > "help/$newdocument/Makefile.am"
  342.     )
  343. fi
  344.  
  345. exit $status
  346.  
  347. # Local Variables:
  348. # mode:shell-script
  349. # sh-indentation:2
  350. # End:
  351.